<?php
class GradosController extends AppController {

	var $name = 'Grados';
	var $helpers=array('Access');

	function index() {
		$this->Grado->recursive = 0;
		$this->set('grados', $this->paginate());
	}

	function view($id = null) {
		if (!$id) {
			$this->Session->setFlash(__('Invalid grado', true));
			$this->redirect(array('action' => 'index'));
		}
		$this->set('grado', $this->Grado->read(null, $id));
	}

	function add() {
		if (!empty($this->data)) {
			$this->Grado->create();
			if ($this->Grado->save($this->data)) {
				$this->Session->setFlash(__('El grado ha sido guardado.', true));
				$this->redirect(array('action' => 'index'));
			} else {
				$this->Session->setFlash(__('El grado no ha sido guardado. Por favor intente de nuevo.', true));
			}
		}
		$metodologias = $this->Grado->Metodologia->find('list',array('fields'=>array('Metodologia.id','Metodologia.nombre')));
		$criterios = $this->Grado->Criterio->find('list');
		$this->set(compact('metodologias', 'criterios'));
	}

	function edit($id = null) {
		if (!$id && empty($this->data)) {
			$this->Session->setFlash(__('Invalid grado', true));
			$this->redirect(array('action' => 'index'));
		}
		if (!empty($this->data)) {
			if ($this->Grado->save($this->data)) {
				$this->Session->setFlash(__('El grado ha sido guardado.', true));
				$this->redirect(array('action' => 'index'));
			} else {
				$this->Session->setFlash(__('El grado no ha sido guardado. Por favor intente de nuevo.', true));
			}
		}
		if (empty($this->data)) {
			$this->data = $this->Grado->read(null, $id);
		}
		$metodologias = $this->Grado->Metodologia->find('list',array('fields'=>array('Metodologia.id','Metodologia.nombre')));
		$criterios = $this->Grado->Criterio->find('list');
		$this->set(compact('metodologias', 'criterios'));
	}

	function delete($id = null) {
		if (!$id) {
			$this->Session->setFlash(__('Invalid id for grado', true));
			$this->redirect(array('action'=>'index'));
		}
		if ($this->Grado->delete($id)) {
			$this->Session->setFlash(__('El grado ha sido eliminado', true));
			$this->redirect(array('action'=>'index'));
		}
		$this->Session->setFlash(__('El grado no se ha podido eliminar', true));
		$this->redirect(array('action' => 'index'));
	}
	
	function get_grados_json($metodologia = null){
		if( $metodologia != null ){
			$grados = $this->Grado->find("list", array("fields"=>array("Grado.id", "Grado.nombre"), 
															  "conditions"=>array("Grado.metodologia_id"=>$metodologia)));
			
			$this->view = 'Json';
			$this->set(compact('grados'));
			$this->set('json', 'grados');
		}
	}
}
